import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
import path from 'node:path'
// const path = require("path");

const resolvePath = (str) => path.resolve(__dirname, str);

// https://vite.dev/config/
export default defineConfig({
  plugins: [react()],
  // 防止 vite 将 rgba() 颜色转化为 #RGBA 十六进制
  cssTarget: 'chrome61',
  resolve: {
    alias: {
      "@": resolvePath(__dirname, "./src"),
    },
  },
  build: {
    rollupOptions: {
      // 请确保外部化那些你的库中不需要的依赖
      external: ["react", "react-dom"],
      output: {
        // 在 UMD 构建模式下为这些外部化的依赖提供一个全局变量
        globals: {
          react: "react",
          "react-dom": "react-dom",
        },
      },
    },
    lib: {
      // 打包入口文件, 使用时从入口进行寻找依赖
      entry: resolvePath("src/index.js"),
      name: "mal-react-components",
      // 打包后文件名 format表示不同的规范(commonjs之类的)
      // 如果打包成 UMD 格式，文件名可能是 mal-vue3-components.umd.js。
      // 如果打包成 ES Module 格式，文件名可能是 mal-vue3-components.es.js
      fileName: format => `mal-react-components.${format}.js`,
    },
  },
})
